home *** CD-ROM | disk | FTP | other *** search
/ AltaVista Media Wrangler 2.0 / AltaVista Media Wrangler 2.0.iso / mwrangle / database / infosch.sql < prev    next >
Text File  |  1995-02-28  |  7KB  |  180 lines

  1. -- ;
  2. --    SQL Script for creating Info_Schema Views ;
  3. -- ;
  4. --    For Internal Use only ;
  5. -- ;
  6.  
  7. SET SCHEMA info_schema;
  8.  
  9. CREATE VIEW schemata (sys_catalog, sys_schema, sys_owner) AS
  10.     SELECT    sys_catalog_name, sys_schema_name, sys_user_or_group_name 
  11.     FROM    defn_schema.sys_schema, defn_schema.sys_user
  12.     WHERE    (sys_user_id = sys_schema_owner_id);
  13.  
  14. GRANT SELECT ON info_schema.schemata TO PUBLIC;
  15.  
  16. CREATE VIEW domains (sys_domain, sys_datatype, sys_length,
  17.         sys_numeric_scale) AS
  18.     SELECT    sys_domain_name, sys_data_type, sys_max_length,
  19.         sys_numeric_scale
  20.     FROM    defn_schema.sys_domains, defn_schema.sys_datatype
  21.     WHERE    (sys_domain_id = sys_table_or_domain_id);
  22.  
  23. GRANT SELECT on info_schema.domains to public;
  24.  
  25. CREATE view all_tables (sys_schema,sys_tablename, sys_tabletype,
  26.         sys_version, sys_filename) AS
  27.     SELECT    sys_schema_name, sys_table_name, sys_table_type,
  28.         sys_version_number, sys_file_name
  29.     FROM    defn_schema.sys_schema, defn_schema.sys_tables
  30.     WHERE    sys_tables.sys_schema_id = sys_schema.sys_schema_id;
  31.  
  32. GRANT SELECT on info_schema.all_tables to public;
  33.  
  34. CREATE view views (sys_schema, sys_viewname,sys_viewdef, 
  35.         sys_check_option, sys_updateflag, sys_groupview_flag) AS
  36.     SELECT    sys_schema_name, sys_table_name, sys_view_definition,
  37.         sys_check_option, sys_updatable_flag, sys_group_view_flag
  38.     FROM    defn_schema.sys_schema, defn_schema.sys_tables,
  39.         defn_schema.sys_views
  40.     WHERE    ((sys_schema.sys_schema_id = sys_tables.sys_schema_id AND
  41.         sys_table_id = sys_view_id) AND (
  42.         (sys_view_id) in
  43.             (SELECT    sys_view_id
  44.             FROM    defn_schema.sys_view_and_table_column_usag
  45.             )
  46.         )
  47.         );
  48.  
  49. GRANT SELECT on info_schema.views to public;
  50.  
  51. CREATE view columns_and_tables (sys_schema, sys_tablename,
  52.         sys_colname, sys_datatype, sys_column_position,
  53.         sys_nullable_flag) AS
  54.     SELECT    sys_schema_name, sys_table_name, sys_column_name,
  55.         sys_data_type, c.sys_column_position,
  56.         sys_nullable_flag
  57.     FROM    defn_schema.sys_schema AS a,
  58.         defn_schema.sys_tables AS b,
  59.         defn_schema.sys_columns AS c,
  60.         defn_schema.sys_datatype AS d
  61.     WHERE    (a.sys_schema_id = b.sys_schema_id AND 
  62.         b.sys_table_id = c.sys_table_id AND
  63.         b.sys_table_id = d.sys_table_or_domain_id AND
  64.         c.sys_column_position = d.sys_column_position);
  65.  
  66. GRANT SELECT on info_schema.columns_and_tables to public;
  67.  
  68. CREATE view table_privileges (sys_schema, sys_tablename,
  69.         sys_privilege) AS
  70.     SELECT    sys_schema_name, sys_table_name, sys_privilege
  71.     FROM    defn_schema.sys_schema, defn_schema.sys_table_column_priv,
  72.         defn_schema.sys_tables
  73.     WHERE    (sys_tables.sys_table_id = sys_table_column_priv.sys_table_id
  74.         AND sys_schema.sys_schema_id = sys_tables.sys_schema_id);
  75.  
  76. GRANT SELECT on info_schema.table_privileges to public;
  77.  
  78. CREATE view column_privileges (sys_schema, sys_tablename,
  79.         sys_column_name, sys_privilege) AS
  80.     SELECT    sys_schema_name, sys_table_name, sys_column_name,
  81.         sys_privilege
  82.     FROM    defn_schema.sys_schema, defn_schema.sys_table_column_priv,
  83.         defn_schema.sys_tables, defn_schema.sys_columns
  84.     WHERE    (sys_tables.sys_schema_id = sys_schema.sys_schema_id AND 
  85.         sys_columns.sys_table_id = sys_tables.sys_table_id AND
  86.         sys_columns.sys_table_id = sys_table_column_priv.sys_table_id);
  87.  
  88. GRANT SELECT on info_schema.column_privileges to public;
  89.  
  90. CREATE view table_constraints (sys_schema, sys_tablename, sys_constraint,
  91.         sys_keytype, sys_constraint_type, sys_deferrable,
  92.         sys_initdeferred, sys_indexcreated_flag) AS
  93.     SELECT    sys_schema_name, sys_table_name, sys_constraint_name,
  94.         sys_key_type, sys_constraint_type, sys_deferrable,
  95.         sys_initially_deferred, sys_index_created_flag
  96.     FROM    defn_schema.sys_schema, defn_schema.sys_tables,
  97.         defn_schema.sys_table_column_constraint
  98.     WHERE    (sys_tables.sys_schema_id = sys_schema.sys_schema_id AND
  99.         sys_tables.sys_table_id =
  100.             sys_table_column_constraint.sys_table_id);
  101.  
  102. GRANT SELECT on info_schema.table_constraints to public;
  103.  
  104. CREATE view ref_constraints (sys_schema, sys_tablename, sys_constraint,
  105.         sys_match_constraint, sys_match_option, sys_update_rule,
  106.         sys_delete_rule) AS
  107.     SELECT    sys_schema_name, sys_table_name, a.sys_constraint_name,
  108.         b.sys_constraint_name, sys_match_option, sys_update_rule,
  109.         sys_delete_rule
  110.     FROM    defn_schema.sys_schema, defn_schema.sys_tables,
  111.         defn_schema.sys_referential_constraint AS c,
  112.         defn_schema.sys_table_column_constraint AS a,
  113.         defn_schema.sys_table_column_constraint AS b
  114.     WHERE    ( sys_schema.sys_schema_id = sys_tables.sys_schema_id AND
  115.         c.sys_constraint_id = a.sys_constraint_id AND 
  116.         c.sys_match_constraint_id = b.sys_constraint_id);
  117.  
  118. GRANT SELECT on info_schema.ref_constraints to public;
  119.  
  120. CREATE view check_constraints (sys_schema, sys_tablename, sys_constraint,
  121.         sys_match_constraint, sys_check_detail) AS
  122.     SELECT    sys_schema_name, sys_table_name, a.sys_constraint_name,
  123.         b.sys_constraint_name, sys_check_detail
  124.     FROM    defn_schema.sys_schema, defn_schema.sys_tables,
  125.         defn_schema.sys_check_constraint,
  126.         defn_schema.sys_table_column_constraint AS a,
  127.         defn_schema.sys_table_column_constraint AS b,
  128.         defn_schema.sys_referential_constraint AS c
  129.     WHERE    (sys_schema.sys_schema_id = sys_tables.sys_schema_id AND
  130.         c.sys_constraint_id = a.sys_constraint_id AND
  131.         c.sys_match_constraint_id = b.sys_constraint_id AND
  132.         sys_check_constraint.sys_constraint_id = a.sys_constraint_id);
  133.  
  134. GRANT SELECT on info_schema.check_constraints to public;
  135.  
  136. CREATE view key_column_usage (sys_schema, sys_tablename, sys_constraint,
  137.         sys_column_name, sys_colpos, sys_key_colpos) AS 
  138.     SELECT    sys_schema_name, sys_table_name, sys_constraint_name,
  139.         sys_column_name, c.sys_column_position, 
  140.         sys_key_column_position
  141.     FROM    defn_schema.sys_schema AS s, defn_schema.sys_tables AS t,
  142.         defn_schema.sys_columns AS c, 
  143.         defn_schema.sys_table_column_constraint AS tc,
  144.         defn_schema.sys_key_column_usage AS kcu
  145.     WHERE    (s.sys_schema_id = t.sys_schema_id AND
  146.         t.sys_table_id = c.sys_table_id AND
  147.         tc.sys_constraint_id = kcu.sys_constraint_id AND
  148.         tc.sys_table_id = t.sys_table_id);
  149.  
  150. GRANT SELECT on info_schema.key_column_usage to public;
  151.  
  152. CREATE view users (sys_username, sys_default_catalog, sys_default_schema,
  153.         sys_login_status) AS
  154.     SELECT    sys_user_or_group_name, sys_default_catalog,
  155.         sys_default_schema, sys_current_login_status
  156.     FROM    defn_schema.sys_user; 
  157.  
  158. GRANT SELECT on info_schema.users to public;
  159.  
  160. CREATE view catalogs (sys_catalog, sys_path, sys_journal_file,
  161.         sys_secure_mode) AS
  162.     SELECT    sys_catalog_name, sys_path_name, sys_journal_file_name,
  163.         sys_secure_mode
  164.     FROM    defn_schema.sys_catalog;
  165.  
  166. GRANT SELECT on info_schema.catalogs to public;
  167.  
  168. CREATE view tables_in_current_schema (sys_schema, sys_tablename,
  169.         sys_tabletype, sys_version, sys_file_name) AS
  170.     SELECT    sys_schema_name, sys_table_name, sys_table_type,
  171.         sys_version_number, sys_file_name
  172.     FROM    defn_schema.sys_tables AS a, defn_schema.sys_schema AS b
  173.     WHERE    (a.sys_schema_id = b.sys_schema_id) AND 
  174.         (upper(b.sys_schema_name) = upper (current_schema));
  175.  
  176. GRANT SELECT on info_schema.tables_in_current_schema to public;
  177.  
  178. -- End Of The Script --- ;
  179.  
  180.